草庐IT

java treeset 抛出 illegalArgumentException : key out of range

全部标签

java - 为什么 Runnable 的 run() 不能抛出已检查的异常?

根据JCIP的第6.3.2节:Runnableisafairlylimitingabstraction;runcannotreturnavalueorthrowcheckedexception.run()不能返回一个值,因为它的返回类型是void但为什么它不能抛出一个已检查的异常? 最佳答案 它不能抛出已检查的异常,因为它没有从第一个版本中声明为抛出已检查的异常,并且更改它太危险了。最初Runnable仅在包装的Thread中使用,并且假定开发人员希望捕获所有已检查的异常并处理它们而不是将它们记录到System.err.Callab

java - 如何在 RESTful Web 服务中使用 Jersey 框架抛出 HTTP 204 状态代码?

我正在使用jersey框架开发RESTful网络服务。我使用以下代码抛出各种HTTP状态代码和响应:publicclassRestNoContentExceptionextendsWebApplicationException{publicRestNoContentException(Stringmessage){super(Response.status(Status.NO_CONTENT).entity(message).type("text/plain").build());}}在使用FirefoxMozilla休息客户端工具测试REST网络服务时,它显示200OK状态而不是20

java - 构造函数抛出异常后可以调用finalize吗?

如果对象的构造函数出现异常,是否有关于是否使用finalize()清理对象的任何详细信息。这个方法何时被调用是出了名的错误定义。根据手册:TheJavaprogramminglanguagedoesnotguaranteewhichthreadwillinvokethefinalizemethodforanygivenobject.Itisguaranteed,however,thatthethreadthatinvokesfinalizewillnotbeholdinganyuser-visiblesynchronizationlockswhenfinalizeisinvoked.I

java - 在 Java 中抛出一个异常链表

我有一个函数在执行可能引发异常的操作时循环。看起来像这样:publicvoidmyFunction()throwsMyException{while(stuff){try{DoSomething()//throwsanexception}catch(Exceptionex){thrownewMyException(some,stuff,of,mine,ex);}}}导致异常的错误是可恢复的。它可能类似于单个更新语句中的SQL错误,其中while循环执行一系列更新语句。或者单条数据的解析错误,其中循环正在处理多条数据。我需要将异常进一步向上传递,以便程序的GUI部分可以处理它,处理它并将

java - 为什么 TreeSet 抛出 ClassCastException?

我正在尝试将两个“Employee”对象添加到TreeSet:Sets=newTreeSet();s.add(newEmployee(1001));s.add(newEmployee(1002));但是它抛出一个ClassCastException:Exceptioninthread"main"java.lang.ClassCastException:Employeecannotbecasttojava.lang.Comparableatjava.util.TreeMap.put(TreeMap.java:542)atjava.util.TreeSet.add(TreeSet.java

java - java 中的 Arrays.copyOfRange 方法抛出不正确的异常

我今天在做数组,突然遇到一个抛出意外异常的场景。如果您查看下面的代码,我认为它必须抛出ArrayIndexOutOfBoundsException,但令人惊讶的是它抛出了IllegalArgumentException:importjava.util.Arrays;publicclassRangeTest{publicstaticvoidmain(String[]args){int[]a=newint[]{0,1,2,3,4,5,6,7,8,9};int[]b=Arrays.copyOfRange(a,Integer.MIN_VALUE,10);//Ifwe'lluseInteger.

java - jetty 抛出 NoClassDefFoundError : org/eclipse/jetty/util/FutureCallback on shutdown

我们的Maven构建在关闭jetty的构建结束时抛出一个我不理解的NoClassDefFoundError。有谁知道这是从哪里来的以及如何解决它?这是pom文件中的依赖项:com.restfusecom.eclipsesource.restfuse1.0.0commons-iocommons-io2.4org.slf4jjcl-over-slf4j1.7.7testorg.easytestingfest-assert1.4testcom.pe-internationalbom.modeltestcom.jayway.restassuredrest-assured2.3.4com.jay

java - 检查等同于 IllegalArgumentException?

我有一个方法将枚举作为参数并返回一些依赖于该参数的信息。但是,该枚举包含一些不应处理的值,应该引发错误条件。目前,该方法抛出一个IllegalArgumentException,但我希望这是一个已检查的异常,以强制调用者捕获它(并优雅地返回,记录错误)。有什么合适的或者我应该创建自己的异常子类吗?我也对其他模式持开放态度。一个合理的react是应该处理枚举的所有值,但事实并非如此。当一个新值被添加到枚举中时,我想确保这个方法做正确的事情——在这种情况下提醒人类比使用一些默认返回值更可取。感谢您的任何建议。 最佳答案 您当然可以创建自

java - 当使用未定义的参数调用模拟时,如何使 Mockito 抛出异常?

是否可以在使用非预定义参数调用模拟时抛出异常?有Answers.RETURNS_SMART_NULLS,但这并不是我真正需要的,因为如果null是合法的返回值,它就不起作用,这不会导致NullPointerException,而是稍后出现错误。编辑:一些背景。因此,在Mockito中定义模拟时,您可以像这样指定每个调用的返回值:when(myMock.someMethod(arg1,arg2)).thenReturn(returnValue);当使用参数调用myMock.someMethod时,我在测试中没有给出返回值,它只返回null。我想将其配置为立即崩溃并告诉我我忘记为某些参数组

java - 为什么将 Double.NaN 转换为 int 不会在 Java 中抛出异常?

所以我知道IEEE754为非实数的值指定了一些特殊的浮点值。在Java中,将这些值转换为原始int确实不会像我预期的那样抛出异常。相反,我们有以下内容:intn;n=(int)Double.NaN;//n==0n=(int)Double.POSITIVE_INFINITY;//n==Integer.MAX_VALUEn=(int)Double.NEGATIVE_INFINITY;//n==Integer.MIN_VALUE在这些情况下不抛出异常的理由是什么?这是IEEE标准,还是仅仅是Java设计者的选择?如果此类强制转换可能出现异常,是否会产生我不知道的不良后果?